草庐IT

java - 在 Dropwizard 中以编程方式运行迁移

全部标签

ruby - 在 Ruby 中执行非阻塞 I/O 的首选方式是什么?

如果说我想检索一个网页进行解析,但在I/O发生时不阻塞CPU。是否有与Python的Eventlet库等效的东西? 最佳答案 Ruby的最佳HTTP客户端库是Typhoeus,它可用于以非阻塞方式并行执行多个HTTP请求。有阻塞和非阻塞接口(interface):#blockingresponse=Typhoeus::Request.get("http://stackoverflow.com/")putsresponse.body#non-blockingrequest1=Typhoeus::Request.new("http://

ruby-on-rails - 为什么学习 Ruby 中的元编程和特征类很重要?

我目前正在尝试使用Ruby和Rails,我已经阅读了有关元编程的教程和书籍中的几个部分。许多人提到它是Ruby的重要组成部分,但他们并没有真正深入到细节。就好像元编程是Ruby程序员的最后边界。我有.NET背景,很难理解为什么它被认为如此有用。使用元编程有什么好处?什么是特征类,它与单例有何不同?在什么情况下使用元编程很常见?使用代码修改其他代码(尤其是非您自己的代码)的行为有哪些伦理含义? 最佳答案 使用元编程有什么好处?您可以创建比没有它更具表现力的API(例如,ActiveRecord使用元编程根据表的列名定义访问器方法,因此

ruby - HTTParty 选项参数无法正常运行

我正在设置一个可以发出LastFMAPI请求的应用程序。这些是简单的获取请求,我正在使用HTTPartygem。我的函数如下:defget_albumsself.class.base_uri"http://ws.audioscrobbler.com/2.0/"options={:user=>"Gerard1992",:method=>"user.gettopalbums",:api_key=>Constants::LASTFM_API_KEY,:format=>"json"}putsoptions.to_queryself.class.get"/?#{options.to_query}

ruby - Crontab 没有运行 ruby​​ 脚本

下面的crontab-l好像没有运行。手动运行的脚本运行良好。这是我看到的错误Dec320:12:01dahlia/USR/SBIN/CRON[13912]:(gigawatt)CMD(/bin/sh-c"(exportPATH=/usr/bin:/bin;/home/gigawatt/drbronnersbot/drbronnersbot.rb)")Dec320:12:01dahlia/USR/SBIN/CRON[13910]:(CRON)error(grandchild#13912failedwithexitstatus1)这是crontab:*****/bin/sh-c"(exp

ruby-on-rails - 在运行时查找 ActiveRecord 类的关联?

我想在运行时找到ActiveRecord类的关联...假设我有以下内容:classPerson如何在运行时发现Person“有很多”椅子和笔,反之亦然?我正在寻找一种返回字符串数组的方法(如果存在这样的方法)。即Person.has_many_assocations会返回:["chairs","pens"]和Pen.belongs_to_associations会返回:["person"]我是否遗漏了这样一种存在的方法??感谢您的帮助。 最佳答案 我认为ActiveRecord::Reflection类可能是你要找的。来自文档:Ac

ruby-on-rails - 运行 rspec 测试时关系不存在

我的group_spec.rb文件中有这个:describeGroupdoit{shouldhave_many(:users)}end这在我的user_spec.rb文件中:describeUserdoit{shouldbelong_to(:group)}end当我运行测试时,我得到:Failure/Error:it{shouldhave_many(:users)}ActiveRecord::StatementInvalid:PGError:ERROR:relation"users"doesnotexistLINE4:WHEREa.attrelid='"users"'::regclas

ruby-on-rails - 向我的网站添加完整网络搜索的最佳方式?

我需要在我的站点中添加完整的网络搜索。我需要像GoogleCustomSearch这样的东西,但没有广告,而且它必须是免费的。任何可以为我的站点编制索引并允许我进行搜索的Web服务或开源项目的推荐都会有所帮助。如果有帮助的话,我的网站是用ruby​​onrails制作的。我会将这个问题制作成社区维基,这样您就可以编辑我糟糕的英语。我想很多人都可以从这个问题中受益。 最佳答案 查看Lucene。它是一个开源搜索引擎,在您自己的网站上实现肯定会是一种有趣的学习体验。我相信它最初是由Excite人员设计的。

ruby - 基本元编程 : extending an existing class using a module?

我希望我的模块的一部分能够扩展String类。这行不通moduleMyModuleclassStringdefexclaimselfNoMethodError但这样做moduleMyModuledefexclaimself"thisisastring!!!!!"我不希望MyModule的所有其他功能都被String束缚。在最高级别再次包含它似乎很丑陋。当然有更简洁的方法来做到这一点? 最佳答案 exclaim第一个示例中的方法是在一个名为MyModule::String的类中定义的,与标准无关String类(class)。在您的模块

ruby - 在后台运行 Ruby 脚本

我有一个Ruby脚本,我需要在我的Linux机器上一直运行它。我尝试了nohupruby​​ruby​​.rb&但它似乎不起作用。如何让脚本在后台运行? 最佳答案 查看screen,这是一个命令行实用程序。开始它screen您将获得一个分离的新外壳。在那里开始你的脚本rubywhatever.rb然后看着它运行。然后按Ctrl-ACtrl-D,你应该回到原来的shell。您现在可以离开sshsession,脚本将继续运行。稍后,登录到您的盒子并输入screen-r你应该回到分离的shell。如果你多次使用屏幕,你将不得不通过pid选

ruby-on-rails - before_save 在验证后运行吗?

我的自定义验证似乎在我的before_saveblock之前运行,这对我来说很奇怪。我知道before_validation,但我正在尝试测试我的自定义验证器,所以before_validationHook不允许我这样做。我还读到测试私有(private)方法(我的验证器)是不好的做法。我该怎么办?更多信息:我们希望用户能够上传带有URL或文件的文档,但不能同时上传或不上传(xor)。我的验证器检查这些的异或。如果用户编辑文档,before_saveHook会删除当前的URL或文件。理论上,流程应该是:上传文件验证并保存上传网址before_save、验证、保存但在我的测试中,我收到验